草庐IT

c++ - QML Qt openUrlExternally

全部标签

c++ - C 结构中的总线错误

这是我测试复制结构的代码。1#include2#include34typedefstructemp_struct{5char*name;6intemployee_no;7floatsalary,8tax_to_date;9}Employee;1011typedefEmployeeDatabase[10];1213Databasepeople={14{"Fred",10,10000,3000},15{"Jim",9,12000,3100.5},16{"Fred",13,1000000,30},17{"Mary",11,170000,4000},18{"Judith",45,130000,

c++ - 是否存在 stb_image simd 支持?

stb_image似乎支持idct和ycbcr->rgb转换操作的插件SIMD实现,这在加载jpeg文件时占用了大部分时间。查看STBI_SIMD背后的代码,很明显这段代码实际上已在某处使用。但是,要么实现是专有的,要么我的google-fu失败了,因为我没有找到任何使用此接口(interface)的公共(public)代码。我的需求仅适用于x86平台(此时)。有没有使用这个接口(interface)的开源软件? 最佳答案 我记得在Twitter上看到你的问题,今天巧合的是有人提到了libjpeg-turbo根据BSD许可证获得许可

c# - 在C#中调用c dll

问题介绍:我必须通过DLL文件、LIB文件和函数声明为dllimport的c头文件提供的API来控制某个设备。当我在C++项目中使用API时,一切正常-我包含了header、lib、dll,并调用了header文件中声明的函数。当尝试使用[DllImport]属性从C#.NET项目调用这些函数时,问题就开始了:函数是用准确的名称和参数声明的,并且运行代码没有抛出任何异常。然而设备根本没有响应,就像这些功能从未真正被调用过一样。在C头文件中是如何声明的:int__declspec(dllimport)Init_Card_RTx(unsignedshortdevice_num,unsign

c++ - Cygwin 1.7.28 中的 mkstemp() 和 fdopen()

在使用GNUGCC4.8.2在Cygwin(1.7.28-2,64位)下构建一些基于C++的代码的过程中,我遇到了以下错误:...SortDetails.cpp:Infunction‘FILE*create_tmpfile(constchar*,char**)’:SortDetails.cpp:127:20:error:‘mkstemp’wasnotdeclaredinthisscopefd=mkstemp(tmpl);^SortDetails.cpp:133:24:error:‘fdopen’wasnotdeclaredinthisscopefp=fdopen(fd,"wb+");.

c++ - 有没有办法停止隐式指针转换为 void *

我需要在我的源代码中找到所有这样的地方,其中任何类型的指针被隐式转换为void*或停止这些隐式转换的方法。例如:int*到void*char*到void*Base*到void*是否有任何gcc警告或错误标志检测所有此类指针被隐式转换为void*的行? 最佳答案 假设你有一个像这样的简单程序#includeintmain(){char*apples="applesandpears";charfruit[1024];void*avoid;intaint;floatafloat;avoid=&aint;avoid=&afloat;memc

c++ - 有没有办法检查一个函数是否已经声明?

假设有一个库,其中一个版本定义了一个名为foo的函数,另一个版本的名称更改为foo_other,但是这两个函数仍然具有相同的参数和返回值。我目前使用这样的条件编译:#include#ifdefUSE_NEW_FOO#definetrueFoofoo_other#else#definetrueFoofoo#endif但这需要对库版本进行一些外部检测并设置相应的编译器选项,如-DUSE_NEW_FOO.我宁愿让代码根据它是否在中被声明来自动确定它应该调用什么函数。.有没有办法在任何版本的C中实现这一点?如果没有,切换到任何版本的C++是否会为我提供执行此操作的任何方法?(假设库执行了所有需

C++:获取范围内整数的最快方法

我需要为大约N=1亿个key生成哈希key。根据我的研究,murmur3(MurmurHash3_x86_32,参见murmur3hash)似乎是最快的哈希函数,具有最佳延迟和足够小的冲突率。我面临的问题是该函数将键返回为void*。更具体地说,模板是:voidMurmurHash3_x86_32(constvoid*key,intlen,uint32_tseed,void*out);由于我的哈希表大小将小于它可以生成的最大哈希值,因此我需要将它放入表范围[0,N-1]中。最简单的解决方案似乎是使用%运算符。但众所周知,它是一个缓慢的运算符(operator),我想知道是否有更快的方法

c++ - 如何在 C/C++ 中减去两个 IPv6 地址(128 位数字)?

我将IP地址存储在sockaddr_in6中,它支持一个包含四个32位addr[4]的数组。本质上是一个128位数字。我正在尝试计算给定IPv6范围内的IP数量(中间有多少IP)。所以这是一个使用两个长度为四的数组从另一个中减去一个的问题。问题是因为没有128bit数据类型,我不能转换成十进制。非常感谢! 最佳答案 您可以使用某种大整数库(如果您可以容忍LGPL,则可以选择GMP)。幸运的是,如有必要,128位减法很容易手动模拟。下面是计算(a-b)绝对值的快速演示,对于128位值:#include#includestructU12

c++ - 在二叉树中,找出有多少祖父只有两个或三个孙子

8/\412/\/\3621/\/\//\71013155911/14我需要找到一棵树的祖父,在这个例子中我只有一个祖父,12号(我需要他只有两个或三个孙子)。这是我到目前为止尝试过的:intT(structnode*tree){intt=0;if(tree==NULL)return0;if(tree->left&&tree->right){//InthiscaseicheckifweNOThaveallthefourgrandchildrens.if(!((tree->left->left)&&(tree->left->right)&&(tree->right->left)&&(tr

c++ - 在 Arduino 中使用函数(延迟)时是否有最大延迟时间

{digitalWrite(13,HIGH);//turntheLEDon(HIGHisthevoltagelevel)delay(1000);//waitforaseconddigitalWrite(13,LOW);//turntheLEDoffbymakingthevoltageLOWdelay(1000);//waitforasecond}我试图将延迟设置为60,000,但在1分钟后将它输出到Arduino时,灯没有打开。 最佳答案 来自arduinoreferencepagefordelaydelay的参数是一个unsign